
import request from '@/utils/request'

export const IgsReportAPI = {
  hasAll(params) {
    return request({
      url: '/IgsReport/hasAll',
      method: 'get',
      params
    });
  },
  hasAllToPage(params) {
    return request({
      url: '/IgsReport/hasAllToPage',
      method: 'get',
      params
    })
  },
  add(data) {
    return request({
      url: '/IgsReport/add',
      method: 'post',
      data
    })
  },
  update(data) {
    return request({
      url: '/IgsReport/update',
      method: 'post',
      data
    })
  },
  delete(data) {
    return request({
      url: '/IgsReport/delete',
      method: 'post',
      data
    })
  },
  downloadFile(data) {
    return request({
      url: '/IgsReport/download', // 确保这是你的API地址
      method: 'post',
      data, // 发送到服务器的数据
      responseType: 'blob' // 重要: 需要设置为'blob'
    }).then(response => {
      // 尝试从响应头中获取文件名
      let filename = "default.xlsx"; // 默认文件名
      const contentDisposition = response.headers['content-disposition'];
      if (contentDisposition && contentDisposition.indexOf('attachment') !== -1) {
        const fileNameMatch = contentDisposition.match(/filename=([^;]+)/);
        if (fileNameMatch && fileNameMatch[1]) {
          // 解码可能存在的URL编码字符
          filename = decodeURIComponent(fileNameMatch[1].replace(/"/g, ""));
        }
      }

      const url = window.URL.createObjectURL(new Blob([response.data]));
      const link = document.createElement('a');
      link.href = url;
      link.setAttribute('download', filename); // 使用从响应头中获取的文件名
      document.body.appendChild(link);
      link.click();
      // 清理
      link.remove();
      window.URL.revokeObjectURL(url);
    }).catch(error => {
      console.error('There was an error!', error);
    });
  }
  // 其他方法...
};





